Printed circuit boards (PCBs) connect chip devices together, as well as couple the devices to external components such as keyboards and storage devices. PCBs use wires or nets for the connections. Some devices have multiple wires that send and/or receive data bits substantially simultaneously. The time that it takes for data to traverse the wires is known as propagation delay. Note that differences in the wire lengths will causes differences in the time of transit of the data bits. These differences arc known as skew. Acceptable skew is generally less than one clock cycle. Thus, signals arriving within one clock cycle are treated as having arrived simultaneously by the receiving device. Signals arriving with a time differential of greater than one clock cycle are treated as having arrived in different clock cycles. If a signal was to arrive in the wrong clock cycle, then the skew can cause the system to crash.
FIG. 1 depicts some of the nets on a PCB board 100. The board includes drivers 101 that transmit signals and receivers 102 that receive the signals sent by the drivers. Connecting wiring 103 connects the drivers to the receivers. The wiring is also known as the net. Net length is the length of the wires. As shown in FIG. 1, some drivers are located closer to their associated receivers, than other driver/receiver pairs. Also boards have features, e.g. mounting holes 104, surface mounted devices, etc., such that the wiring must be routed around the features. Thus, the propagation delay for pair 101B/102B will be less than delay for pair 101A/102A if straight wiring is used. To increase the path length, the wiring is formed in a square wave or sawtooth pattern 105, such that the additional path length added by the pattern 105 should increase the total path length for the 101B/102B pair such that it equals the path length for the 101A/102A pair.
A problem with this arrangement is that the physical length added by the sawtooth pattern, namely the vertical portions of the pattern, does not equal the intended propagation delay. Physically the pattern should produce the intended propagation delay, however, the actual propagation delay is less than expected. In other words, the current path is shorter than the predicted physical path. The predicted propagation delay is formed by a CAD tool, which measures distance from the center line of the wire. The predicted delay equals the physical length times a constant (delay per length). But the real current path does not follow the center line, the real current path follows a shorter path and cuts the corners of the bends of the pattern. Note that this differential is very small, but is multiplied by the number of bends. Thus, for wires with a few sawteeth, the wire behaves as is predicted, but as the number of teeth increases, the resulting propagation delay begins to vary from the predicted or intended value. In the past, this problem has been ignored as its effects were not important because of slower computer speeds. However, as computer speeds have increased, this problem has become more important.
One prior art solution is to use delay lines 201, as shown in FIG. 2. The delay line is a manufactured wire, that has a built in delay. However, the delay lines are not accurate. In other words, two delay lines with the same rating will have different delays, i.e. they are unpredictable. Also, the delay wires require attachment vias which uses board space. Moreover, the delay wires arc predefined, and a particular delay may not be attainable with the predefined delay lines.
Another prior art solution is to use few teeth, but with longer vertical distances, as shown in FIG. 3. This is known as a trombone pattern 301. Such a pattern would have the same amount of vertical space as the sawtooth pattern 105, but with fewer bends. Since there are fewer bends, then the current path is closer to the predicted path and the actual delay is closer to the predicted delay. However, this arrangement requires a great deal of board space. Also, since the wires are close together for relatively long distances, the wires can have cross-talk, that would change the timing of the signal travel. In other words, the signal may couple energy onto one or more of the vertical paths and arrive sooner than expected to the receiver.